package com.qdlc.p2p.dal.dao;

import java.util.List;

import com.qdlc.p2p.dal.common.dao.BaseDao;
import com.qdlc.p2p.dal.common.model.jpa.PageDataList;
import com.qdlc.p2p.dal.dto.ReceivingInfo;
import com.qdlc.p2p.dal.model.ReceivingInfoModel;

/**
 * 收货地址信息Service
 * @author xxx
 * @version 2.0
 * @date 2015年6月23日 下午1:53:00
 */
public interface ReceivingInfoDao extends BaseDao<ReceivingInfo> {

	/**
	 * 根据Id查找
	 * @param id
	 * @return
	 */
	ReceivingInfo findById(long id);
	
	/**
	 * 解除默认
	 * @param userId
	 */
	void setUnDefult(long userId);
	
	/**
	 * 设置默认
	 * @param userId
	 */
	void setDefult(long id, long userId);
	
	/**
	 * 删除/禁用
	 * @param id
	 * @param userId
	 */
	void disable(long id, long userId);

	/**
	 * 查询列表数据
	 * @param userId
	 * @param status
	 * @return
	 */
	List<ReceivingInfo> list(long userId, int status);
	
	/**
	 * 统计数量
	 * @param userId
	 * @param status
	 * @return
	 */
	int count(long userId, int status);

	/**
	 * 获取返回pageModel
	 * 业务处理：如果没有默认地址，则第一条为默认地址
	 * @return
	 */
	PageDataList<ReceivingInfoModel> list(ReceivingInfoModel model);
}
